When rendering frames using a desktop graphics system, the frame rate of rendering may be controlled by synchronizing the rendering of each frame with the vertical synchronization signal of a display device coupled to the desktop machine. However, when this process is virtualized in a cloud computing environment, a display may not be present to provide these synchronization signals, thus resulting in the server based graphics system rendering frames as fast as possible for an application. In a cloud computing environment, once rendered, these frames are processed and sent over a communication network to a remote client device displaying the frames. The communication network may have limited and varying bandwidth. This issue is especially prevalent within the field of cloud computing given that frames transmitted in such an uncontrolled manner may introduce significant network delay, especially within poor quality networks.
As a result, many frames produced by the server based graphics system are encoded, transmitted and may then be discarded by the server because the frame generation rate exceeds the network communication rate. This situation results in unnecessary power consumption as well as computational inefficiencies in the sense that the server based graphics system utilizes valuable power resources and processing time to produce frames which are ultimately not consumed by the client device. Furthermore, graphics system frame overproduction in this fashion is costly from a financial perspective in the sense that there is also a decrease in the number of users who are able to gain access to hosted virtualized applications, thus, resulting in lower user density. User density drops because the graphics system is busy generating wasted frames and the bandwidth wasted by this activity could otherwise be used to service additional clients.